Skip to content

Release v0.0.4 #22

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Apr 9, 2025
Merged

Release v0.0.4 #22

merged 9 commits into from
Apr 9, 2025

Conversation

bsbodden
Copy link
Contributor

@bsbodden bsbodden commented Apr 5, 2025

@abrookins
Copy link
Contributor

🔥 🔥

@tylerhutcherson tylerhutcherson added the enhancement New feature or request label Apr 7, 2025
Copy link
Contributor

@tylerhutcherson tylerhutcherson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice. Left a question and a comment. But good from my perspective after that.

bsbodden added 7 commits April 8, 2025 17:42
#23)

- Add Time-To-Live (TTL) functionality to Redis store implementation TTL using Redis's native TTL functionality
- Update dependency to langgraph ^0.3.0 with proper import handling for create_react_agent and fix various type errors to ensure linting sanity.
- Added null checks for connection_args to satisfy mypy type checking.
- Implemented the URL environment variable handling directly in our code.
  Adds proper Redis client identification using SET_CLIENT_INFO for both synchronous and asynchronous clients. Includes graceful fallback to echo when the command is not
  available and comprehensive tests for both checkpoint and store components.
…#13)

  Add cleanup logic to AsyncShallowRedisSaver and ShallowRedisSaver to delete
  old blobs and writes when storing new checkpoints. This prevents memory bloat
  when using shallow savers, which should only keep the latest checkpoint state.
  Add comprehensive test to verify the fix works correctly.
  Update previously skipped tests to work without external dependencies:
  - Replace test_batch_order with a functional test of batch operations
  - Implement memory_persistence test using sequential store connections
  - Convert LLM-dependent tests to use mock agents instead of real OpenAI
  - Fix root_graph_checkpoint tests to use proper configuration format
  - Add proper cleanup to ShallowRedisSaver implementations

  All tests now run successfully without API keys or special setup.
  - Add transaction handling to AsyncRedisSaver.aput and aput_writes methods
  - Add transaction handling to AsyncShallowRedisSaver.aput method
  - Fix typing issue in shallow.py
  - Add comprehensive tests for interruption handling
  - Ensure atomic operations in Redis using pipeline with transaction=True
  - Proper handling of asyncio.CancelledError during interruptions
@bsbodden bsbodden marked this pull request as ready for review April 9, 2025 00:46
@bsbodden bsbodden self-assigned this Apr 9, 2025
@bsbodden bsbodden changed the title feat(redis): implement TTL support and upgrade langgraph to 0.3.25 Release v0.4.0 Apr 9, 2025
Copy link

@satyaprakash1729 satyaprakash1729 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not well versed this code base since I'm newbie to langgraph as well as this repo.
But I skimmed through the code and changes look ok to me.
One feedback I've is - this PR could've been staged as 2 or 3 PRs for each issue.

@bsbodden bsbodden merged commit 05e830d into main Apr 9, 2025
19 checks passed
@tylerhutcherson tylerhutcherson changed the title Release v0.4.0 Release v0.0.4 Apr 9, 2025
@satyaprakash1729
Copy link

@bsbodden We're seeing some issues after upgrading to this version.

redis.exceptions.ResponseError: Command # 2 (JSON.SET checkpoint_blob:8e6cfdc5-1bc2-4972-a588-964000ace09f_e9513882-6db2-451c-b2fc-0dd6a814d38e:__empty__:__start__:00000000000000000000000000000206.0.15568235660527807
....
of pipeline caused error: ("CROSSSLOT Keys in request don't hash to the same slot (context='within MULTI', command='json.set', original-slot='2887', wrong-slot='3457', first-key='checkpoint:8e6cfdc5-1bc2-4972-a588-964000ace09f_e9513882-6db2-451c-b2fc-0dd6a814d38e:', violating-key='checkpoint_blob:8e6cfdc5-1bc2-4972-a588-964000ace09f_e9513882-6db2-451c-b2fc-0dd6a814d38e:__empty__:__start__:00000000000000000000000000000206.0.15568235660527807')",)

Also, I don't see checkpoint index created. Check screenshot below:
image (18)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants